When a non-transparent PCIe bridge is used to connect a device to a host system as well as to resources internal to the PCIe bridge, direct transfer of data from the PCIe memory space of the host system to the PCIe memory space of the device, and vice-versa, is generally not possible. While the PCIe bridge has an internal address space to which some transactions may be directed, the PCIe protocol does not provide a mechanism for direct mapping of one PCIe memory address space to another. Thus, the PCIe bridge cannot distinguish a transaction directed to its internal address space from one directed to the host system's PCIe memory space. Furthermore, in a PCIe architecture that employs virtualization, such as that found in a Single Root Input/Output Virtualization (SR-I/OV) PCIe controller, the host system may support I/O virtualization even though the device does not or does not support the same number of virtual functions that the PCIe controller publishes to the host system. Nothing in the PCIe protocol allows the device to convey a host virtual function identifier directly to the host system during I/O operations in a PCIe bridge.